package com.acmen.easyapi.generator;

import com.acmen.easyapi.annotation.Param;

import java.lang.reflect.Field;

/**
 * @author acmen
 * 数据生成者
 */
public interface DataGenerator {
    public final static String TAB = "&nbsp;&nbsp;&nbsp;&nbsp;";

    /**
     * 匹配规则
     *
     * @param field  字段
     * @param param  参数注解
     * @return 通过匹配返回true，否则返回false
     */
    public boolean matches(Field field, Param param);

    /**
     * 获取数据
     *
     * @param field    字段
     * @param param    参数注解
     * @return
     */
    public Object generate(Field field, Param param);

    /**
     * 数据获取说明
     *
     * @return
     */
    public String getNote();
}
